package com.jsyl.lwbk.business.domain.education;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TrainingProgramChildRecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TrainingProgramChildRecordExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCourseIdIsNull() {
            addCriterion("course_id is null");
            return (Criteria) this;
        }

        public Criteria andCourseIdIsNotNull() {
            addCriterion("course_id is not null");
            return (Criteria) this;
        }

        public Criteria andCourseIdEqualTo(Long value) {
            addCriterion("course_id =", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotEqualTo(Long value) {
            addCriterion("course_id <>", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdGreaterThan(Long value) {
            addCriterion("course_id >", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdGreaterThanOrEqualTo(Long value) {
            addCriterion("course_id >=", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdLessThan(Long value) {
            addCriterion("course_id <", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdLessThanOrEqualTo(Long value) {
            addCriterion("course_id <=", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdIn(List<Long> values) {
            addCriterion("course_id in", values, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotIn(List<Long> values) {
            addCriterion("course_id not in", values, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdBetween(Long value1, Long value2) {
            addCriterion("course_id between", value1, value2, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotBetween(Long value1, Long value2) {
            addCriterion("course_id not between", value1, value2, "courseId");
            return (Criteria) this;
        }

        public Criteria andCenterIdIsNull() {
            addCriterion("center_id is null");
            return (Criteria) this;
        }

        public Criteria andCenterIdIsNotNull() {
            addCriterion("center_id is not null");
            return (Criteria) this;
        }

        public Criteria andCenterIdEqualTo(Long value) {
            addCriterion("center_id =", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdNotEqualTo(Long value) {
            addCriterion("center_id <>", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdGreaterThan(Long value) {
            addCriterion("center_id >", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdGreaterThanOrEqualTo(Long value) {
            addCriterion("center_id >=", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdLessThan(Long value) {
            addCriterion("center_id <", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdLessThanOrEqualTo(Long value) {
            addCriterion("center_id <=", value, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdIn(List<Long> values) {
            addCriterion("center_id in", values, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdNotIn(List<Long> values) {
            addCriterion("center_id not in", values, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdBetween(Long value1, Long value2) {
            addCriterion("center_id between", value1, value2, "centerId");
            return (Criteria) this;
        }

        public Criteria andCenterIdNotBetween(Long value1, Long value2) {
            addCriterion("center_id not between", value1, value2, "centerId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIsNull() {
            addCriterion("teacher_id is null");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIsNotNull() {
            addCriterion("teacher_id is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherIdEqualTo(Long value) {
            addCriterion("teacher_id =", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotEqualTo(Long value) {
            addCriterion("teacher_id <>", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdGreaterThan(Long value) {
            addCriterion("teacher_id >", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdGreaterThanOrEqualTo(Long value) {
            addCriterion("teacher_id >=", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdLessThan(Long value) {
            addCriterion("teacher_id <", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdLessThanOrEqualTo(Long value) {
            addCriterion("teacher_id <=", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIn(List<Long> values) {
            addCriterion("teacher_id in", values, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotIn(List<Long> values) {
            addCriterion("teacher_id not in", values, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdBetween(Long value1, Long value2) {
            addCriterion("teacher_id between", value1, value2, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotBetween(Long value1, Long value2) {
            addCriterion("teacher_id not between", value1, value2, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherNameIsNull() {
            addCriterion("teacher_name is null");
            return (Criteria) this;
        }

        public Criteria andTeacherNameIsNotNull() {
            addCriterion("teacher_name is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherNameEqualTo(String value) {
            addCriterion("teacher_name =", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotEqualTo(String value) {
            addCriterion("teacher_name <>", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameGreaterThan(String value) {
            addCriterion("teacher_name >", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameGreaterThanOrEqualTo(String value) {
            addCriterion("teacher_name >=", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameLessThan(String value) {
            addCriterion("teacher_name <", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameLessThanOrEqualTo(String value) {
            addCriterion("teacher_name <=", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameLike(String value) {
            addCriterion("teacher_name like", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotLike(String value) {
            addCriterion("teacher_name not like", value, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameIn(List<String> values) {
            addCriterion("teacher_name in", values, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotIn(List<String> values) {
            addCriterion("teacher_name not in", values, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameBetween(String value1, String value2) {
            addCriterion("teacher_name between", value1, value2, "teacherName");
            return (Criteria) this;
        }

        public Criteria andTeacherNameNotBetween(String value1, String value2) {
            addCriterion("teacher_name not between", value1, value2, "teacherName");
            return (Criteria) this;
        }

        public Criteria andChildIdIsNull() {
            addCriterion("child_id is null");
            return (Criteria) this;
        }

        public Criteria andChildIdIsNotNull() {
            addCriterion("child_id is not null");
            return (Criteria) this;
        }

        public Criteria andChildIdEqualTo(Long value) {
            addCriterion("child_id =", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdNotEqualTo(Long value) {
            addCriterion("child_id <>", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdGreaterThan(Long value) {
            addCriterion("child_id >", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdGreaterThanOrEqualTo(Long value) {
            addCriterion("child_id >=", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdLessThan(Long value) {
            addCriterion("child_id <", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdLessThanOrEqualTo(Long value) {
            addCriterion("child_id <=", value, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdIn(List<Long> values) {
            addCriterion("child_id in", values, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdNotIn(List<Long> values) {
            addCriterion("child_id not in", values, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdBetween(Long value1, Long value2) {
            addCriterion("child_id between", value1, value2, "childId");
            return (Criteria) this;
        }

        public Criteria andChildIdNotBetween(Long value1, Long value2) {
            addCriterion("child_id not between", value1, value2, "childId");
            return (Criteria) this;
        }

        public Criteria andChildNameIsNull() {
            addCriterion("child_name is null");
            return (Criteria) this;
        }

        public Criteria andChildNameIsNotNull() {
            addCriterion("child_name is not null");
            return (Criteria) this;
        }

        public Criteria andChildNameEqualTo(String value) {
            addCriterion("child_name =", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameNotEqualTo(String value) {
            addCriterion("child_name <>", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameGreaterThan(String value) {
            addCriterion("child_name >", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameGreaterThanOrEqualTo(String value) {
            addCriterion("child_name >=", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameLessThan(String value) {
            addCriterion("child_name <", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameLessThanOrEqualTo(String value) {
            addCriterion("child_name <=", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameLike(String value) {
            addCriterion("child_name like", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameNotLike(String value) {
            addCriterion("child_name not like", value, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameIn(List<String> values) {
            addCriterion("child_name in", values, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameNotIn(List<String> values) {
            addCriterion("child_name not in", values, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameBetween(String value1, String value2) {
            addCriterion("child_name between", value1, value2, "childName");
            return (Criteria) this;
        }

        public Criteria andChildNameNotBetween(String value1, String value2) {
            addCriterion("child_name not between", value1, value2, "childName");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdIsNull() {
            addCriterion("training_program_id is null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdIsNotNull() {
            addCriterion("training_program_id is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdEqualTo(Long value) {
            addCriterion("training_program_id =", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdNotEqualTo(Long value) {
            addCriterion("training_program_id <>", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdGreaterThan(Long value) {
            addCriterion("training_program_id >", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdGreaterThanOrEqualTo(Long value) {
            addCriterion("training_program_id >=", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdLessThan(Long value) {
            addCriterion("training_program_id <", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdLessThanOrEqualTo(Long value) {
            addCriterion("training_program_id <=", value, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdIn(List<Long> values) {
            addCriterion("training_program_id in", values, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdNotIn(List<Long> values) {
            addCriterion("training_program_id not in", values, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdBetween(Long value1, Long value2) {
            addCriterion("training_program_id between", value1, value2, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramIdNotBetween(Long value1, Long value2) {
            addCriterion("training_program_id not between", value1, value2, "trainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdIsNull() {
            addCriterion("child_training_program_id is null");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdIsNotNull() {
            addCriterion("child_training_program_id is not null");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdEqualTo(Long value) {
            addCriterion("child_training_program_id =", value, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdNotEqualTo(Long value) {
            addCriterion("child_training_program_id <>", value, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdGreaterThan(Long value) {
            addCriterion("child_training_program_id >", value, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdGreaterThanOrEqualTo(Long value) {
            addCriterion("child_training_program_id >=", value, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdLessThan(Long value) {
            addCriterion("child_training_program_id <", value, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdLessThanOrEqualTo(Long value) {
            addCriterion("child_training_program_id <=", value, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdIn(List<Long> values) {
            addCriterion("child_training_program_id in", values, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdNotIn(List<Long> values) {
            addCriterion("child_training_program_id not in", values, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdBetween(Long value1, Long value2) {
            addCriterion("child_training_program_id between", value1, value2, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andChildTrainingProgramIdNotBetween(Long value1, Long value2) {
            addCriterion("child_training_program_id not between", value1, value2, "childTrainingProgramId");
            return (Criteria) this;
        }

        public Criteria andTrainingNameIsNull() {
            addCriterion("training_name is null");
            return (Criteria) this;
        }

        public Criteria andTrainingNameIsNotNull() {
            addCriterion("training_name is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingNameEqualTo(String value) {
            addCriterion("training_name =", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotEqualTo(String value) {
            addCriterion("training_name <>", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameGreaterThan(String value) {
            addCriterion("training_name >", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameGreaterThanOrEqualTo(String value) {
            addCriterion("training_name >=", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameLessThan(String value) {
            addCriterion("training_name <", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameLessThanOrEqualTo(String value) {
            addCriterion("training_name <=", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameLike(String value) {
            addCriterion("training_name like", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotLike(String value) {
            addCriterion("training_name not like", value, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameIn(List<String> values) {
            addCriterion("training_name in", values, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotIn(List<String> values) {
            addCriterion("training_name not in", values, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameBetween(String value1, String value2) {
            addCriterion("training_name between", value1, value2, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingNameNotBetween(String value1, String value2) {
            addCriterion("training_name not between", value1, value2, "trainingName");
            return (Criteria) this;
        }

        public Criteria andTrainingContentIsNull() {
            addCriterion("training_content is null");
            return (Criteria) this;
        }

        public Criteria andTrainingContentIsNotNull() {
            addCriterion("training_content is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingContentEqualTo(String value) {
            addCriterion("training_content =", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotEqualTo(String value) {
            addCriterion("training_content <>", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentGreaterThan(String value) {
            addCriterion("training_content >", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentGreaterThanOrEqualTo(String value) {
            addCriterion("training_content >=", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentLessThan(String value) {
            addCriterion("training_content <", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentLessThanOrEqualTo(String value) {
            addCriterion("training_content <=", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentLike(String value) {
            addCriterion("training_content like", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotLike(String value) {
            addCriterion("training_content not like", value, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentIn(List<String> values) {
            addCriterion("training_content in", values, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotIn(List<String> values) {
            addCriterion("training_content not in", values, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentBetween(String value1, String value2) {
            addCriterion("training_content between", value1, value2, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingContentNotBetween(String value1, String value2) {
            addCriterion("training_content not between", value1, value2, "trainingContent");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberIsNull() {
            addCriterion("training_program_number is null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberIsNotNull() {
            addCriterion("training_program_number is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberEqualTo(String value) {
            addCriterion("training_program_number =", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotEqualTo(String value) {
            addCriterion("training_program_number <>", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberGreaterThan(String value) {
            addCriterion("training_program_number >", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberGreaterThanOrEqualTo(String value) {
            addCriterion("training_program_number >=", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberLessThan(String value) {
            addCriterion("training_program_number <", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberLessThanOrEqualTo(String value) {
            addCriterion("training_program_number <=", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberLike(String value) {
            addCriterion("training_program_number like", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotLike(String value) {
            addCriterion("training_program_number not like", value, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberIn(List<String> values) {
            addCriterion("training_program_number in", values, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotIn(List<String> values) {
            addCriterion("training_program_number not in", values, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberBetween(String value1, String value2) {
            addCriterion("training_program_number between", value1, value2, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andTrainingProgramNumberNotBetween(String value1, String value2) {
            addCriterion("training_program_number not between", value1, value2, "trainingProgramNumber");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIsNull() {
            addCriterion("project_type is null");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIsNotNull() {
            addCriterion("project_type is not null");
            return (Criteria) this;
        }

        public Criteria andProjectTypeEqualTo(Integer value) {
            addCriterion("project_type =", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotEqualTo(Integer value) {
            addCriterion("project_type <>", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeGreaterThan(Integer value) {
            addCriterion("project_type >", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("project_type >=", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeLessThan(Integer value) {
            addCriterion("project_type <", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeLessThanOrEqualTo(Integer value) {
            addCriterion("project_type <=", value, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeIn(List<Integer> values) {
            addCriterion("project_type in", values, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotIn(List<Integer> values) {
            addCriterion("project_type not in", values, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeBetween(Integer value1, Integer value2) {
            addCriterion("project_type between", value1, value2, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("project_type not between", value1, value2, "projectType");
            return (Criteria) this;
        }

        public Criteria andProjectModuleIsNull() {
            addCriterion("project_module is null");
            return (Criteria) this;
        }

        public Criteria andProjectModuleIsNotNull() {
            addCriterion("project_module is not null");
            return (Criteria) this;
        }

        public Criteria andProjectModuleEqualTo(Integer value) {
            addCriterion("project_module =", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleNotEqualTo(Integer value) {
            addCriterion("project_module <>", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleGreaterThan(Integer value) {
            addCriterion("project_module >", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleGreaterThanOrEqualTo(Integer value) {
            addCriterion("project_module >=", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleLessThan(Integer value) {
            addCriterion("project_module <", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleLessThanOrEqualTo(Integer value) {
            addCriterion("project_module <=", value, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleIn(List<Integer> values) {
            addCriterion("project_module in", values, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleNotIn(List<Integer> values) {
            addCriterion("project_module not in", values, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleBetween(Integer value1, Integer value2) {
            addCriterion("project_module between", value1, value2, "projectModule");
            return (Criteria) this;
        }

        public Criteria andProjectModuleNotBetween(Integer value1, Integer value2) {
            addCriterion("project_module not between", value1, value2, "projectModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleIsNull() {
            addCriterion("training_module is null");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleIsNotNull() {
            addCriterion("training_module is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleEqualTo(Integer value) {
            addCriterion("training_module =", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleNotEqualTo(Integer value) {
            addCriterion("training_module <>", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleGreaterThan(Integer value) {
            addCriterion("training_module >", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_module >=", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleLessThan(Integer value) {
            addCriterion("training_module <", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleLessThanOrEqualTo(Integer value) {
            addCriterion("training_module <=", value, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleIn(List<Integer> values) {
            addCriterion("training_module in", values, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleNotIn(List<Integer> values) {
            addCriterion("training_module not in", values, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleBetween(Integer value1, Integer value2) {
            addCriterion("training_module between", value1, value2, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andTrainingModuleNotBetween(Integer value1, Integer value2) {
            addCriterion("training_module not between", value1, value2, "trainingModule");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIsNull() {
            addCriterion("question_id is null");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIsNotNull() {
            addCriterion("question_id is not null");
            return (Criteria) this;
        }

        public Criteria andQuestionIdEqualTo(Long value) {
            addCriterion("question_id =", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotEqualTo(Long value) {
            addCriterion("question_id <>", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdGreaterThan(Long value) {
            addCriterion("question_id >", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdGreaterThanOrEqualTo(Long value) {
            addCriterion("question_id >=", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdLessThan(Long value) {
            addCriterion("question_id <", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdLessThanOrEqualTo(Long value) {
            addCriterion("question_id <=", value, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdIn(List<Long> values) {
            addCriterion("question_id in", values, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotIn(List<Long> values) {
            addCriterion("question_id not in", values, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdBetween(Long value1, Long value2) {
            addCriterion("question_id between", value1, value2, "questionId");
            return (Criteria) this;
        }

        public Criteria andQuestionIdNotBetween(Long value1, Long value2) {
            addCriterion("question_id not between", value1, value2, "questionId");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreIsNull() {
            addCriterion("training_score is null");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreIsNotNull() {
            addCriterion("training_score is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreEqualTo(Integer value) {
            addCriterion("training_score =", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreNotEqualTo(Integer value) {
            addCriterion("training_score <>", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreGreaterThan(Integer value) {
            addCriterion("training_score >", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_score >=", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreLessThan(Integer value) {
            addCriterion("training_score <", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreLessThanOrEqualTo(Integer value) {
            addCriterion("training_score <=", value, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreIn(List<Integer> values) {
            addCriterion("training_score in", values, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreNotIn(List<Integer> values) {
            addCriterion("training_score not in", values, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreBetween(Integer value1, Integer value2) {
            addCriterion("training_score between", value1, value2, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("training_score not between", value1, value2, "trainingScore");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeIsNull() {
            addCriterion("training_time is null");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeIsNotNull() {
            addCriterion("training_time is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeEqualTo(String value) {
            addCriterion("training_time =", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeNotEqualTo(String value) {
            addCriterion("training_time <>", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeGreaterThan(String value) {
            addCriterion("training_time >", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeGreaterThanOrEqualTo(String value) {
            addCriterion("training_time >=", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeLessThan(String value) {
            addCriterion("training_time <", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeLessThanOrEqualTo(String value) {
            addCriterion("training_time <=", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeLike(String value) {
            addCriterion("training_time like", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeNotLike(String value) {
            addCriterion("training_time not like", value, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeIn(List<String> values) {
            addCriterion("training_time in", values, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeNotIn(List<String> values) {
            addCriterion("training_time not in", values, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeBetween(String value1, String value2) {
            addCriterion("training_time between", value1, value2, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingTimeNotBetween(String value1, String value2) {
            addCriterion("training_time not between", value1, value2, "trainingTime");
            return (Criteria) this;
        }

        public Criteria andTrainingNumIsNull() {
            addCriterion("training_num is null");
            return (Criteria) this;
        }

        public Criteria andTrainingNumIsNotNull() {
            addCriterion("training_num is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingNumEqualTo(String value) {
            addCriterion("training_num =", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotEqualTo(String value) {
            addCriterion("training_num <>", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumGreaterThan(String value) {
            addCriterion("training_num >", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumGreaterThanOrEqualTo(String value) {
            addCriterion("training_num >=", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumLessThan(String value) {
            addCriterion("training_num <", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumLessThanOrEqualTo(String value) {
            addCriterion("training_num <=", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumLike(String value) {
            addCriterion("training_num like", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotLike(String value) {
            addCriterion("training_num not like", value, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumIn(List<String> values) {
            addCriterion("training_num in", values, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotIn(List<String> values) {
            addCriterion("training_num not in", values, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumBetween(String value1, String value2) {
            addCriterion("training_num between", value1, value2, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingNumNotBetween(String value1, String value2) {
            addCriterion("training_num not between", value1, value2, "trainingNum");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeIsNull() {
            addCriterion("training_type is null");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeIsNotNull() {
            addCriterion("training_type is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeEqualTo(Integer value) {
            addCriterion("training_type =", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeNotEqualTo(Integer value) {
            addCriterion("training_type <>", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeGreaterThan(Integer value) {
            addCriterion("training_type >", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_type >=", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeLessThan(Integer value) {
            addCriterion("training_type <", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeLessThanOrEqualTo(Integer value) {
            addCriterion("training_type <=", value, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeIn(List<Integer> values) {
            addCriterion("training_type in", values, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeNotIn(List<Integer> values) {
            addCriterion("training_type not in", values, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeBetween(Integer value1, Integer value2) {
            addCriterion("training_type between", value1, value2, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTrainingTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("training_type not between", value1, value2, "trainingType");
            return (Criteria) this;
        }

        public Criteria andTotalNumIsNull() {
            addCriterion("total_num is null");
            return (Criteria) this;
        }

        public Criteria andTotalNumIsNotNull() {
            addCriterion("total_num is not null");
            return (Criteria) this;
        }

        public Criteria andTotalNumEqualTo(Integer value) {
            addCriterion("total_num =", value, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumNotEqualTo(Integer value) {
            addCriterion("total_num <>", value, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumGreaterThan(Integer value) {
            addCriterion("total_num >", value, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("total_num >=", value, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumLessThan(Integer value) {
            addCriterion("total_num <", value, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumLessThanOrEqualTo(Integer value) {
            addCriterion("total_num <=", value, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumIn(List<Integer> values) {
            addCriterion("total_num in", values, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumNotIn(List<Integer> values) {
            addCriterion("total_num not in", values, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumBetween(Integer value1, Integer value2) {
            addCriterion("total_num between", value1, value2, "totalNum");
            return (Criteria) this;
        }

        public Criteria andTotalNumNotBetween(Integer value1, Integer value2) {
            addCriterion("total_num not between", value1, value2, "totalNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumIsNull() {
            addCriterion("complete_num is null");
            return (Criteria) this;
        }

        public Criteria andCompleteNumIsNotNull() {
            addCriterion("complete_num is not null");
            return (Criteria) this;
        }

        public Criteria andCompleteNumEqualTo(Integer value) {
            addCriterion("complete_num =", value, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumNotEqualTo(Integer value) {
            addCriterion("complete_num <>", value, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumGreaterThan(Integer value) {
            addCriterion("complete_num >", value, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("complete_num >=", value, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumLessThan(Integer value) {
            addCriterion("complete_num <", value, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumLessThanOrEqualTo(Integer value) {
            addCriterion("complete_num <=", value, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumIn(List<Integer> values) {
            addCriterion("complete_num in", values, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumNotIn(List<Integer> values) {
            addCriterion("complete_num not in", values, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumBetween(Integer value1, Integer value2) {
            addCriterion("complete_num between", value1, value2, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteNumNotBetween(Integer value1, Integer value2) {
            addCriterion("complete_num not between", value1, value2, "completeNum");
            return (Criteria) this;
        }

        public Criteria andCompleteRateIsNull() {
            addCriterion("complete_rate is null");
            return (Criteria) this;
        }

        public Criteria andCompleteRateIsNotNull() {
            addCriterion("complete_rate is not null");
            return (Criteria) this;
        }

        public Criteria andCompleteRateEqualTo(String value) {
            addCriterion("complete_rate =", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateNotEqualTo(String value) {
            addCriterion("complete_rate <>", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateGreaterThan(String value) {
            addCriterion("complete_rate >", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateGreaterThanOrEqualTo(String value) {
            addCriterion("complete_rate >=", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateLessThan(String value) {
            addCriterion("complete_rate <", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateLessThanOrEqualTo(String value) {
            addCriterion("complete_rate <=", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateLike(String value) {
            addCriterion("complete_rate like", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateNotLike(String value) {
            addCriterion("complete_rate not like", value, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateIn(List<String> values) {
            addCriterion("complete_rate in", values, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateNotIn(List<String> values) {
            addCriterion("complete_rate not in", values, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateBetween(String value1, String value2) {
            addCriterion("complete_rate between", value1, value2, "completeRate");
            return (Criteria) this;
        }

        public Criteria andCompleteRateNotBetween(String value1, String value2) {
            addCriterion("complete_rate not between", value1, value2, "completeRate");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelIsNull() {
            addCriterion("training_level is null");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelIsNotNull() {
            addCriterion("training_level is not null");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelEqualTo(Integer value) {
            addCriterion("training_level =", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelNotEqualTo(Integer value) {
            addCriterion("training_level <>", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelGreaterThan(Integer value) {
            addCriterion("training_level >", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("training_level >=", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelLessThan(Integer value) {
            addCriterion("training_level <", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelLessThanOrEqualTo(Integer value) {
            addCriterion("training_level <=", value, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelIn(List<Integer> values) {
            addCriterion("training_level in", values, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelNotIn(List<Integer> values) {
            addCriterion("training_level not in", values, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelBetween(Integer value1, Integer value2) {
            addCriterion("training_level between", value1, value2, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andTrainingLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("training_level not between", value1, value2, "trainingLevel");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}